﻿/*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * 
*     ___                              __                 _       __              __     __       *
*    /   |   _____ ____   ___   _____ /_/____   ____     | |     / /____   _____ / /____/ /_____  *
*   / /| |  / ___// __ \ / _ \ / ___// // __ \ / __ \    | | /| / // __ \ / ___// // __  // ___/  *
*  / ___ | _\_ \ / /_/ //  __// /   / // /_/ // / / /    | |/ |/ // /_/ // /   / // /_/ /_\_ \    *
* /_/  |_|/____// ____/ \___//_/   /_/ \____//_/ /_/     |__/|__/ \____//_/   /_/ \____//____/    *
*              /_/                                                                                *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SFML.Window;
using SFML.Graphics;

namespace Worlds.Media
{
    public class GTextSettings
    {
        private Vector2f _Position { get; set; }
        public Vector2f Position { get { return this._Position; } }

        private Color _Colour { get; set; }
        public Color Colour { get { return this._Colour; } }

        private RenderStates _States { get; set; }
        public RenderStates States { get { return this._States; } }

        public GTextSettings()
        {
            /* Initialize default settings. */
            this._Position = new Vector2f(0, 0);
            this._Colour = new Color(255, 255, 255, 255);
            this._States = new RenderStates(BlendMode.Alpha);
        }

        public void setPosition(float X, float Y)
        {
            /* Set the position. */
            this._Position = new Vector2f(X, Y);
        }

        public void setColour(Color Colour)
        {
            /* Set the colour. */
            this._Colour = Colour;
        }

        public void setBlendMode(BlendMode Mode)
        {
            /* Set the mode. */
            this._States = new RenderStates(Mode);
        }
    }
}
